/*
 * Powered By xTOOLs
 * Dev by tao.li8@pactera.com
 * Copyright ©2009-2018 pactera.com All rights reserved.
 * Generated at 2020-6-29 15:23:48
 */

package com.pactera.jep.service.yapin.coll.model;

import com.pactera.jep.web.entity.Result;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.Digits;

import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.*;
import java.math.BigDecimal;

import com.pactera.jep.commons.DateUtils;
import com.pactera.jep.entity.PO;

/**
 * 权证信息表实体类
 * @Author YourName
 * @Date 2020-6-29 15:23:48
 */
@ApiModel(value = "WarrantInfo" , description = "权证信息表")
@Entity
@Table(name = "bs_col_warrantinfo")
public class WarrantInfo implements PO {

    @ApiModelProperty("主键ID")
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Length(max = 32, message = "主键ID长度最多32位")
    @Column(name = "WARRANTINFO_ID")
    private String warrantinfoId;

    @ApiModelProperty("押品ID")
    @Length(max = 32, message = "押品ID长度最多32位")
    @Column(name = "CLT_ID")
    private String cltId;

    @ApiModelProperty("押品编号")
    @Length(max = 40, message = "押品编号长度最多40位")
    @Column(name = "CLT_NO")
    private String cltNo;

    @ApiModelProperty("权属证件类型")
    @Length(max = 20, message = "权属证件类型长度最多20位")
    @Column(name = "WARRANT_TP_CD")
    private String warrantTpCd;

    @ApiModelProperty("权证编号")
    @Length(max = 100, message = "权证编号长度最多100位")
    @Column(name = "WARRANT_NO")
    private String warrantNo;

    @ApiModelProperty("权证签发机构")
    @Length(max = 40, message = "权证签发机构长度最多40位")
    @Column(name = "WARRANT_GRANT_ORG_NO")
    private String warrantGrantOrgNo;

    @ApiModelProperty("是否原件")
    @Length(max = 20, message = "是否原件长度最多20位")
    @Column(name = "ORIGINAL_FLG")
    private String originalFlg;

    @ApiModelProperty("押品登记日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Column(name = "WARRANT_GRANT_DT")
    private Date warrantGrantDt;

    @ApiModelProperty("权证录入人")
    @Length(max = 40, message = "权证录入人长度最多40位")
    @Column(name = "WARRANT_INPUT_USER_NO")
    private String warrantInputUserNo;

    @ApiModelProperty("权证录入日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Column(name = "WARRANT_INPUT_DT")
    private Date warrantInputDt;

    @ApiModelProperty("权证录入机构")
    @Length(max = 40, message = "权证录入机构长度最多40位")
    @Column(name = "WARRANT_INPUT_ORG_NO")
    private String warrantInputOrgNo;

    @ApiModelProperty("其他说明")
    @Length(max = 65535, message = "其他说明长度最多65,535位")
    @Column(name = "WARRANT_RMK")
    private String warrantRmk;

    @ApiModelProperty("权证生效日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Column(name = "REG_EFF_DT")
    private Date regEffDt;

    @ApiModelProperty("权证失效日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Column(name = "REG_MAT_DT")
    private Date regMatDt;

    @ApiModelProperty("押品登记机关")
    @Length(max = 80, message = "押品登记机关长度最多80位")
    @Column(name = "REG_ORG_NO")
    private String regOrgNo;

    @ApiModelProperty("转入日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Column(name = "ROLL_IN_DATE")
    private Date rollInDate;

    @ApiModelProperty("转出日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Column(name = "ROLL_OUT_DATE")
    private Date rollOutDate;

    @ApiModelProperty("原出库原因")
    @Length(max = 20, message = "原出库原因长度最多20位")
    @Column(name = "SRC_OUT_STOR_REASON_CD")
    private String srcOutStorReasonCd;

    @ApiModelProperty("实物资料状态")
    @Length(max = 20, message = "实物资料状态长度最多20位")
    @Column(name = "WARRANT_STS_CD")
    private String warrantStsCd;

    @ApiModelProperty("封包编号")
    @Length(max = 40, message = "封包编号长度最多40位")
    @Column(name = "PACK_NO")
    private String packNo;

    @ApiModelProperty("是否记账凭证")
    @Length(max = 20, message = "是否记账凭证长度最多20位")
    @Column(name = "ACCOUNT_FLG")
    private String accountFlg;

    @ApiModelProperty("主合同编号")
    @Length(max = 40, message = "主合同编号长度最多40位")
    @Column(name = "CTR_NO")
    private String ctrNo;

    @ApiModelProperty("主权证标识")
    @Length(max = 20, message = "主权证标识长度最多20位")
    @Column(name = "MAIN_WARR_FLG")
    private String mainWarrFlg;

    @ApiModelProperty("权证编号第一部分（中文部分）")
    @Length(max = 50, message = "权证编号第一部分（中文部分）长度最多50位")
    @Column(name = "WARR_NO_PART_1")
    private String warrNoPart1;

    @ApiModelProperty("权证编号第二部分（其他部分）")
    @Length(max = 100, message = "权证编号第二部分（其他部分）长度最多100位")
    @Column(name = "WARR_NO_PART_2")
    private String warrNoPart2;

    @ApiModelProperty("租户")
    @Column(name = "TENANT_ID_")
    private String tenantId;

    @ApiModelProperty("创建人ID")
    @Column(name = "CREATED_BY_ID_")
    private String createdById;

    @ApiModelProperty("创建人名称")
    @Length(max = 64, message = "创建人名称长度最多64位")
    @Column(name = "CREATED_BY_NAME_")
    private String createdByName;

    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Column(name = "CREATED_TIME_")
    private Date createdTime;

    @ApiModelProperty("逻辑删除标记")
    @Length(max = 1, message = "逻辑删除标记长度最多1位")
    @Column(name = "DELFLAG_")
    private String delflag;

    @ApiModelProperty("显示序号")
    @Digits(integer = 10, fraction = 0, message = "显示序号不能超过10位")
    @Column(name = "DISPLAY_ORDER_")
    private Integer displayOrder;

    @ApiModelProperty("修改人ID")
    @Length(max = 64, message = "修改ID长度最多64位")
    @Column(name = "MODIFIED_BY_ID_")
    private String modifiedById;

    @ApiModelProperty("修改人名称")
    @Length(max = 64, message = "修改人名称长度最多64位")
    @Column(name = "MODIFIED_BY_NAME_")
    private String modifiedByName;

    @ApiModelProperty("修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Column(name = "MODIFIED_TIME_")
    private Date modifiedTime;

    @ApiModelProperty("版本")
    @Digits(integer = 10, fraction = 0, message = "版本不能超过10位")
    @Column(name = "VERSION_")
    private Integer version;

    public String getWarrantinfoId(){
        return warrantinfoId;
    }

    public void setWarrantinfoId(String warrantinfoId){
        this.warrantinfoId = warrantinfoId;
    }
    public String getCltId(){
        return cltId;
    }

    public void setCltId(String cltId){
        this.cltId = cltId;
    }
    public String getCltNo(){
        return cltNo;
    }

    public void setCltNo(String cltNo){
        this.cltNo = cltNo;
    }
    public String getWarrantTpCd(){
        return warrantTpCd;
    }

    public void setWarrantTpCd(String warrantTpCd){
        this.warrantTpCd = warrantTpCd;
    }
    public String getWarrantNo(){
        return warrantNo;
    }

    public void setWarrantNo(String warrantNo){
        this.warrantNo = warrantNo;
    }
    public String getWarrantGrantOrgNo(){
        return warrantGrantOrgNo;
    }

    public void setWarrantGrantOrgNo(String warrantGrantOrgNo){
        this.warrantGrantOrgNo = warrantGrantOrgNo;
    }
    public String getOriginalFlg(){
        return originalFlg;
    }

    public void setOriginalFlg(String originalFlg){
        this.originalFlg = originalFlg;
    }
    public Date getWarrantGrantDt(){
        return warrantGrantDt;
    }

    public void setWarrantGrantDt(Date warrantGrantDt){
        this.warrantGrantDt = warrantGrantDt;
    }
    public String getWarrantInputUserNo(){
        return warrantInputUserNo;
    }

    public void setWarrantInputUserNo(String warrantInputUserNo){
        this.warrantInputUserNo = warrantInputUserNo;
    }
    public Date getWarrantInputDt(){
        return warrantInputDt;
    }

    public void setWarrantInputDt(Date warrantInputDt){
        this.warrantInputDt = warrantInputDt;
    }
    public String getWarrantInputOrgNo(){
        return warrantInputOrgNo;
    }

    public void setWarrantInputOrgNo(String warrantInputOrgNo){
        this.warrantInputOrgNo = warrantInputOrgNo;
    }
    public String getWarrantRmk(){
        return warrantRmk;
    }

    public void setWarrantRmk(String warrantRmk){
        this.warrantRmk = warrantRmk;
    }
    public Date getRegEffDt(){
        return regEffDt;
    }

    public void setRegEffDt(Date regEffDt){
        this.regEffDt = regEffDt;
    }
    public Date getRegMatDt(){
        return regMatDt;
    }

    public void setRegMatDt(Date regMatDt){
        this.regMatDt = regMatDt;
    }
    public String getRegOrgNo(){
        return regOrgNo;
    }

    public void setRegOrgNo(String regOrgNo){
        this.regOrgNo = regOrgNo;
    }
    public Date getRollInDate(){
        return rollInDate;
    }

    public void setRollInDate(Date rollInDate){
        this.rollInDate = rollInDate;
    }
    public Date getRollOutDate(){
        return rollOutDate;
    }

    public void setRollOutDate(Date rollOutDate){
        this.rollOutDate = rollOutDate;
    }
    public String getSrcOutStorReasonCd(){
        return srcOutStorReasonCd;
    }

    public void setSrcOutStorReasonCd(String srcOutStorReasonCd){
        this.srcOutStorReasonCd = srcOutStorReasonCd;
    }
    public String getWarrantStsCd(){
        return warrantStsCd;
    }

    public void setWarrantStsCd(String warrantStsCd){
        this.warrantStsCd = warrantStsCd;
    }
    public String getPackNo(){
        return packNo;
    }

    public void setPackNo(String packNo){
        this.packNo = packNo;
    }
    public String getAccountFlg(){
        return accountFlg;
    }

    public void setAccountFlg(String accountFlg){
        this.accountFlg = accountFlg;
    }
    public String getCtrNo(){
        return ctrNo;
    }

    public void setCtrNo(String ctrNo){
        this.ctrNo = ctrNo;
    }
    public String getMainWarrFlg(){
        return mainWarrFlg;
    }

    public void setMainWarrFlg(String mainWarrFlg){
        this.mainWarrFlg = mainWarrFlg;
    }
    public String getWarrNoPart1(){
        return warrNoPart1;
    }

    public void setWarrNoPart1(String warrNoPart1){
        this.warrNoPart1 = warrNoPart1;
    }
    public String getWarrNoPart2(){
        return warrNoPart2;
    }

    public void setWarrNoPart2(String warrNoPart2){
        this.warrNoPart2 = warrNoPart2;
    }

    public String getTenantId() {
        return tenantId;
    }

    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    public String getCreatedById() {
        return createdById;
    }

    public void setCreatedById(String createdById) {
        this.createdById = createdById;
    }

    public String getCreatedByName() {
        return createdByName;
    }

    public void setDisplayOrder(Integer displayOrder) {
        this.displayOrder = displayOrder;
    }

    public String getModifiedById() {
        return modifiedById;
    }

    public void setModifiedById(String modifiedById) {
        this.modifiedById = modifiedById;
    }

    public String getModifiedByName() {
        return modifiedByName;
    }

    public void setCreatedByName(String createdByName){
        this.createdByName = createdByName;
    }
    public Date getCreatedTime(){
        return createdTime;
    }

    public void setCreatedTime(Date createdTime){
        this.createdTime = createdTime;
    }
    public String getDelflag(){
        return delflag;
    }

    public void setDelflag(String delflag){
        this.delflag = delflag;
    }
    public Integer getDisplayOrder(){
        return displayOrder;
    }

    public void setModifiedByName(String modifiedByName){
        this.modifiedByName = modifiedByName;
    }
    public Date getModifiedTime(){
        return modifiedTime;
    }

    public void setModifiedTime(Date modifiedTime){
        this.modifiedTime = modifiedTime;
    }
    public Integer getVersion(){
        return version;
    }

    public void setVersion(Integer version){
        this.version = version;
    }
}

